#ifndef DIRECTION_LOGIC_H
#define DIRECTION_LOGIC_H

#include <string>
#include "MotorController.h"

// 方向码定义（6个方向）
// enum class DirectionCode {
//     STOP = 0,    // 停止
//     FORWARD = 1, // 前进
//     BACKWARD = 2,// 后退
//     LEFT_FRONT = 3, // 左前
//     RIGHT_FRONT = 4,// 右前
//     LEFT_BACK = 5,  // 左后
//     RIGHT_BACK = 6  // 右后
// };


// 方向控制工具类（独立逻辑，便于维护）
class DirectionLogic {
public:
    // 根据方向码和目标速度，计算左右轮速度
    static void calculateWheelSpeeds(DirectionCode dir_code, int target_speed, int& left_speed, int& right_speed);
    // 根据方向码获取名称（如：3→"左前"）
    static std::string getDirectionName(DirectionCode dir_code);
    // 生成详细方向描述（含轮速）
    static std::string getDetailedDirection(DirectionCode dir_code, int left_speed, int right_speed);
};

#endif // DIRECTION_LOGIC_H